# $Id$
# Maintainer: AndyRTR <andyrtr@archlinux.org>

# Contributor: Gerhard Brauer <gerbra@archlinux.de>
# Contributor: Richard Murri <admin@richardmurri.com>
# Contributor: Markus Opitz <mastero23 at gmail dot com>
# Contributor: Milan Knížek <knizek@volny.cz>

pkgname=x2goserver
pkgver=4.0.1.20
pkgrel=2
pkgdesc="Open source terminal server"
arch=('i686' 'x86_64')
url="http://www.x2go.org/"
license=('GPL2')
# http://code.x2go.org/gitweb?p=x2goserver.git;a=blob;f=x2goserver.spec

# from 4.0.1.20 changelog there could be new deps on bash, xkeyboard-config, perl-cwd-guard

depends=(#'python' 

         # For x2goruncommand - for now
         'bc'
         # For netstat in x2goresume-session
         'net-tools'
         'openssh'
         'perl-file-readbackwards'
         # We need a database
         'perl-dbd-sqlite' 
         # For killall in x2gosuspend-session
         'psmisc'
         # For x2goshowblocks
         'lsof'
         # For x2godbadmin
		 'pwgen' # in community
         # For printing, file-sharing
         'sshfs'
         # For /etc/sudoers.d
         'sudo'
         'x2go-agent'
         # For /etc/X11/Xresources
         'xorg-xinit'
         'xorg-fonts-misc'
         'xorg-xauth'
         'shadow'
         
         # for post install actions
         'desktop-file-utils'
         'shared-mime-info'
         
         'perl-capture-tiny'
         'perl-config-simple'
         'perl-file-basedir' # FS#38551
         'perl-file-which' # FS#44125
         
         'xorg-xwininfo' # FS#38558
         'xorg-setxkbmap' # FS#53345
         
         #x2goserver-extensions
         #x2goserver-xsession
         #x2goserver-fmbindings
         #x2goserver-printing
)
makedepends=('man2html' 'perl-extutils-makemaker' 'systemd')
#optdepends=('cups-x2go: printing support')
options=('emptydirs')
install=x2goserver.install
backup=('etc/x2go/x2goserver.conf' 'etc/x2go/x2gosql/sql')
# no https due to invalid certificate
source=(http://code.x2go.org/releases/source/${pkgname}/${pkgname}-${pkgver}.tar.gz{,.asc})
sha256sums=('f8bf48e1c8995bd5a7cde6de1c006fdb77f2bae6c4b82e6b7b985a8f00a3dad9'
            'SKIP')
validpgpkeys=('1AD23D1B8F087A35AB74BDE9F4A7678C9C6B0B2B') # X2go Git Administrator <git-admin@x2go.org>

build() {
  cd "${srcdir}/${pkgname}-${pkgver}"

  # -r option does not exist in Arch linux
  # (However, html man pages do not get installed anyway...)
  for Makefile in $(find . -type f -name Makefile); do
    sed -i 's@(MAN2HTML_BIN) -r @(MAN2HTML_BIN) < @g' $Makefile
    sed -i 's@ \$(MAN2HTML_SRC)/@ < \$(MAN2HTML_SRC)/@g' $Makefile
  done

  # fix some Makefile permission options
  for Makefile in $(find . -type f -name Makefile); do
    sed -i "s:-o root -g root ::g" $Makefile
  done
  # Do not ship xsession - Debian specific
  sed -i -e '/xsession/s/^/#/' Makefile
  
  make PREFIX=/usr SBINDIR=/usr/bin DESTDIR="$pkgdir" PERL_INSTALLDIRS=vendor
}

package() {
  
  # system user/group x2gouser - 111
  # system user/group x2goprint - 112
  
  cd "${srcdir}/${pkgname}-${pkgver}"
  make -j1 PREFIX=/usr SBINDIR=/usr/bin DESTDIR="$pkgdir" install

  # systemd service file 
  install -Dm 644 "$srcdir/${pkgname}-${pkgver}/x2goserver.service" "$pkgdir/usr/lib/systemd/system/x2goserver.service"
  
  # X2go homedir + printing spool dir
  install -dm 0770 --owner=111 --group=111 $pkgdir/var/lib/x2go
  install -dm 0770 --owner=112 --group=112 $pkgdir/var/spool/x2go
  
  # load fuse module at system start
  install -dm755 $pkgdir/usr/lib/modules-load.d
  echo "fuse" > $pkgdir/usr/lib/modules-load.d/x2goserver.conf

  install -dm 755 "${pkgdir}/usr/share/doc/${pkgname}"
  install -m 644 "ChangeLog" "${pkgdir}/usr/share/doc/${pkgname}/"

  # fix permission - see INSTALL file
  chown root:111 ${pkgdir}/usr/lib/x2go/x2gosqlitewrapper
  chmod 2755 ${pkgdir}/usr/lib/x2go/x2gosqlitewrapper
  
  chown root:112 ${pkgdir}/usr/bin/x2goprint
  chmod 2755 ${pkgdir}/usr/bin/x2goprint
  
  chmod 750 ${pkgdir}/etc/sudoers.d
  chmod 0440 ${pkgdir}/etc/sudoers.d/x2goserver
}




